﻿/*
公共扩展脚本
作者：
日期：
*/
var ApiUrl = "http://localhost:41607/";

if (!jQuery.support.cors) {
    jQuery.support.cors = true;
}
$(function () {
    var storage = window.localStorage;
    var ticket = storage.getItem('token');
    //通用AJax启动入口  
    $.ajaxSetup({
        //请求成功后触发
        success: function (data) { alert('success invoke!' + data); },
        //请求失败遇到异常触发
        error: function (xhr, status, e) {
            //alert('error invoke! status:' + status);
            if (xhr.responseText == "" && xhr.statusText == "") {
                layer.msg('服务器请求失败!请联系管理员！', { icon: 2, time: 1000 });
            }
        },
        //完成请求后触发。即在success或error触发后触发  结合服务端过滤器
        complete: function (xhr, status) {
            //alert('complete invoke! status:' + status);
            if (status == "error") {
                if (xhr.responseText != "") {
                    layer.msg(xhr.responseText, { icon: 2, time: 1000 }, function () {
                        if (xhr.statusText == "401") {
                            //storage.removeItem("token");//清除token
                            //storage.removeItem("userid");
                            //storage.removeItem("account");//清除记住账号
                            //storage.removeItem("name");
                            //storage.removeItem("pwd");//清除记住密码
                            //storage.removeItem("online");//清除记住密码状态
                            //parent.location.href = "login.html";
                        }
                    });
                }
            }
        },
        //发送请求前触发
        beforeSend: function (xhr) {
            //可以设置自定义标头
            xhr.setRequestHeader("token", ticket);
            //alert('beforeSend invoke! status:' + status);
        },
    })
});

//扩展
// var a = "我喜欢吃{0}，也喜欢吃{1}，但是最喜欢的还是{0},偶尔再买点{2}";
// alert(String.format(a, "苹果","香蕉","香梨"));
// 结果:我喜欢吃苹果，也喜欢吃香蕉，但是最喜欢的还是苹果,偶尔再买点香梨
String.format = function () {
    if (arguments.length == 0)
        return null;
    var str = arguments[0];
    for (var i = 1; i < arguments.length; i++) {
        var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
};
// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符， 
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子： 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18 
Date.prototype.Format = function (fmt) { //author: meizz 
    var o = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "h+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}